package com.zhhs.project.act.activity.service;



import com.zhhs.project.act.activity.domian.ActActivityUser;
import com.zhhs.project.act.appactivity.domian.AppActivityWayVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 参与活动用户Service接口
 *
 * @author peng
 * @date 2022-11-09
 */
public interface IActActivityUserService
{
    /**
     * 查询参与活动用户
     *
     * @param id 参与活动用户主键
     * @return 参与活动用户
     */
    public ActActivityUser selectActActivityUserById(Long id);

    /**
     * 查询参与活动用户列表
     *
     * @param actActivityUser 参与活动用户
     * @return 参与活动用户集合
     */
    public List<ActActivityUser> selectActActivityUserList(ActActivityUser actActivityUser);

    /**
     * 新增参与活动用户
     *
     * @param actActivityUser 参与活动用户
     * @return 结果
     */
    public int insertActActivityUser(ActActivityUser actActivityUser);

    /**
     * 修改参与活动用户
     *
     * @param actActivityUser 参与活动用户
     * @return 结果
     */
    public int updateActActivityUser(ActActivityUser actActivityUser);

    /**
     * 批量删除参与活动用户
     *
     * @param ids 需要删除的参与活动用户主键集合
     * @return 结果
     */
    public int deleteActActivityUserByIds(String ids);

    /**
     * 删除参与活动用户信息
     *
     * @param id 参与活动用户主键
     * @return 结果
     */
    public int deleteActActivityUserById(Long id);

    /**
     * 获取抽奖次数
     * @param appActivityWayVo
     * @return
     */
    public int getDrawCount(AppActivityWayVo appActivityWayVo);

    /**
     * 获取用户剩余抽奖次数
     * @param userId
     * @param activityId
     * @return
     */
    public int getSurplusNum(@Param("userId") Long userId, @Param("activityId") Long activityId, @Param("dataTime") String dataTime);

    /**
     * 获取用户总的剩余抽奖次数
     * @param userId
     * @param activityId
     * @return
     */
    public int getTotalSurplusNum(@Param("userId") Long userId, @Param("activityId") Long activityId);
}
